Multi-hop IBC
zkIBCを提供するPolymerが実装しようとしている
Cosmos IBCは現在、チャネルを確立させるためには直接チェーンと接続することを要求している
Multi-hop IBCは既存のIBCコネクション上にIBCチャネルを定義する機能
Ethereumのような高いガス代を支払うようなチェーンとの通信をPolymerを通じて行うことができる
ex. Juno <> Polymer <> Ethereum
Technical Specification
全てのIBCチャネルハンドシェイクとパケットは既存のコネクションを利用できる
マルチコネクションIBCチャネルの中継は、中間ホップへの追加書き込みを必要とすべきではない
追加のモジュールやミドルウェアは不要
IBCの仕様に必要な状態の追加と変更は最小限にする
単一のコネクションホップを介したメッセージングの後方互換性を維持する
中間接続チェーンは、Multi-hop IBCにアップグレードする必要はない
https://scrapbox.io/files/649eb0b4d551c6001cbd5627.png
https://scrapbox.io/files/649eb1d1a2a9a6001b7b2d00.png
Relayerはsender chainにパケットコミットメントの証明を問い合わせる
その後、各チェーンにコンセンサスの証明とコネクションの状態を問い合わせ、上の図のような関係を構築する
Relayerはまずreceiver chainからsender chainまでのチェーン間の関係を証明する
最後にsender chainで特定のパケットコミットメントの証明をする
https://scrapbox.io/files/649eb2226ced19001c058be0.png
Multi-hop proofのデータと証明のロジックは上記のような再帰構造を形成する
中間ステップの接続数はいくつでも可能
証明ロジックは変化しないが、証明データの量は線形に増えていく
参考資料
The Multi-hop IBC upgrade will take IBC to Ethereum and beyond